#ifndef __HASH_C
#define __HASH_C

#define MAX_SIZE 769
typedef unsigned int uint;

typedef enum STATUS
{
    OK,
    FAIL
} STATUS;

typedef struct Node
{
    int key;
    int value;
    struct Node *next;
} Node;

typedef struct HashMap
{
    Node *list[MAX_SIZE];
    uint count;
    STATUS(*put)(struct HashMap *, Node);
    STATUS(*del)(struct HashMap *, Node);
    Node *(*get)(struct HashMap *, Node);
} HashMap;

HashMap *HashMapEMPTY();
STATUS HashMapDestroy(HashMap *map);

#endif //__HASH_C